Having access to the controller positive and negative edge values is important. Right now the only way to maintain those is to do it in software. For example: A2teroid's solution. Ideally this should be done in hardware. We should be able to read those values from ($7000...$7fff).
Instantiation of Controller Interface