TO DO:
Before release:

Next priority:
13. Add dead/discard pile displays.
14. Add hand/deck card count displays.
19. Add filtering cards to deck-builder.
16. Add an option to watch an ongoing game (spectator).
24. The events that are played and cards affected should be shown to the players briefly using animations to make it
 aestheticly pleasing.
23. Add ghost cards attached to cards they are affecting in case of things (non-possessions) affecting only one card
 (like skirmish strength bonuses, etc)

Optional:
4. Modify the Blueprint hierarchy to return possible return objects (PlayEventAction), TriggeredAction, etc. Use
final methods were possible to avoid implementation errors on new cards added.
10. Add active/all cards switch to the user interface.
25.

DONE:
1. Introduce AbstractPermanent into Blueprint hierarchy.
2. Migrate Race (Orc, Elf, etc) into separate enum from Keyword.
3. Refactor Effect to return EffectResult upon playEffect, which will contain information about what actually
happened. Modify the Blueprints to have the "before" methods to take Effect parameter only and the "after" to
take the EffectResult parameter only. Effects which modify cards should take filters as parameters, use
overloaded constructor for single cards for backward compatibility, this constructor will call another constructor
with Filters.sameCard(...) filter.
5. Introduce move card operation in communication between the server and client to change the zone/params of the card.
7. Add chat.
11. Merge Shadow and FP support area on the UI and extend the Shadow and FP characters window.
12. Add rule of 4.
6. Change how the assignments and skirmish are displayed in the user interface, to avoid using Dialogs.
17. Timeout users from ChatServer the same way they are timed out of GameServer.
9. Add checkbox option to auto-pass if there is no actions to be played.
8. Add checkbox option to auto-accept choices on the client, also allow to cancel selection to reset to none-selected
and go with different selection.
18. Add display of site where player is on adventure path.
21. Scale wounds, burdens, other tokens with the card size.
22. If skirmish is in progress, the total strength of each side should be displayed.
20. Display "chess-clock" for each player.
15. Add join game screen, where players can choose to play and get paired automatically when a pair becomes available.
